home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d18
/
vis082s.arc
/
MAIN.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-04-17
|
5KB
|
227 lines
{$R-,S-,I-,D-,F+,V-,B-,N-,L+ }
unit main;
interface
uses crt,
windows,gentypes,modem,gensubs,subs1,subs2,userret,overret1,mainr2,
bulletin,configur,database,doors,email,gamble,filexfer,mycomman,voting,
mainmenu,others;
procedure mainsysopcommands;
procedure mainmenuproc;
procedure breakout;
implementation
procedure mainsysopcommands;
var q:integer;
begin
if not getsysoppwd then begin
Inc(HackAttempts);
DoHackShit;
exit;
end;
repeat
q:=menu ('Sysop','SYSOP','QTEANDUCIJSKVMFRZPLB*');
case q of
2:editoldspecs;
3:readerrlog;
4:addnews;
5:editnews;
6:delerrlog;
7:editusers;
8:settime;
9:infoformhunt;
10:showallforms;
11:viewsyslog;
12:delsyslog;
13:showallsysops;
14:makeuser;
15:readfeedback;
16:removeallforms;
17:zapspecifiedusers;
18:localconfiguration;
19:Loozerlists;
20:nodelists;
21:RemoteDosShell;
end
until (q=1) or hungupon
end;
procedure mainmenuproc;
var q,z:integer;
{ mnu:menutype; Pull down menus commented out.
topmnu:lrmenutype; }
begin
{
topmnu[1]:='Go Somewhere';
topmnu[2]:='The BBS';
topmnu[3]:='Other';
topmnu[4]:='';
}
repeat
if fromdoor and (returnto='D') then doorsmenu;
cursection:=mainsysop;
{ if urec.avatar=0 then } randomrumor;
{ if urec.avatar<>0 then begin
z:=lrmenu (topmnu,4*16+15,1*16+15);
case z of
1:begin
mnu[1]:='About BBS';
mnu[2]:='Messages';
mnu[3]:='Databases';
mnu[4]:='E-Mail';
mnu[5]:='User Config';
mnu[6]:='File Section';
mnu[7]:='BBS List';
mnu[8]:='Rumor Lists';
mnu[9]:='Ansi Art';
mnu[10]:='Infoforms';
mnu[11]:='Timebank';
mnu[12]:='Voting Booths';
mnu[13]:='G-Files';
mnu[14]:='On-Line Doors';
mnu[15]:='Conferences';
mnu[16]:='';
q:=pulldown (mnu,2*16,15,14,2,30,18,1);
case q of
1:aboutthisbbs;
2:bulletinmenu;
3:datamenu;
4:emailmenu;
5:configure;
6:udsection;
7:otherbbs;
8:rumour;
9:showscreens;
10:infoform (callforms);
11:timebanks;
12:votingbooth (false);
13:gfilesection;
14:doorsmenu;
15:JumpConference;
end;
end;
2:begin
mnu[1]:='List Users';
mnu[2]:='Recent Calls';
mnu[3]:='Leave Feedback';
mnu[4]:='Chat W/Sysop';
mnu[5]:='Read News';
mnu[6]:='Donation Info';
mnu[7]:='Leech List';
mnu[8]:='System Stats';
mnu[9]:='Modem Stats';
Mnu[10]:='Top 10 Lists';
mnu[11]:='';
q:=pulldown (mnu,2*16,15,40,2,57,13,1);
case q of
1:listusers;
2:showlastcallers;
3:feedback;
4:summonsysop;
5:printnews;
6:donations;
7:leechlist;
8:showsystemstatus;
9:modemstatus;
end;
end;
3:begin
mnu[1]:='Get Help';
mnu[2]:='Change PW';
mnu[3]:='Raise Req';
mnu[4]:='Newscan Date';
mnu[5]:='ViSiON Ad';
mnu[6]:='Your Status';
mnu[7]:='Log Off';
mnu[8]:='';
q:=pulldown (mnu,2*16,15,60,2,75,10,1);
case q of
1:mainhelp;
2:changepwd;
3:requestraise;
4:setlastcall;
5:showad;
6:showuserstats(urec);
7:offtheforum;
end;
end;
end; }
{q:=pulldown (mnu,31,15,1,1,20,18,1);}
{ End Else} Begin
q:=menu ('Main','MAIN','AMCDEFGHIJKLBNOPQRSTUVWXYZ+-!&$%*^.=/');
writeln;
case q of
1:game;
2:Begin JumpConference; bulletinmenu; End;
3:summonsysop;
4:datamenu;
5:emailmenu;
6:feedback;
7:offtheforum;
15:newvotex;
8:mainhelp;
9:get_infoform;
10:JumpConference;
11:Begin configure; ClearScr; End;
12:listusers;
13:otherbbs;
14:printnews;
16:doorsmenu;
17:leechlist;
18:rumormenu;
19:showsystemstatus;
20:Begin JumpConference; udsection; End;
21:Timebanks;
22:votingbooth (false);
23:showlastcallers;
24:transfername;
25:showuserstats(urec);
26:setlastcall;
27:changepwd;
28:TopTen(0);
30:showad;
31:donations;
32:mainsysopcommands;
33:showscreens;
34:MyCommand;
35:Begin
clearscr;
writeln(^P'This BBS is registered to :'^R,registo);
writeln(^P'The BBS Name is :'^R,registb);
end;
37:DisplayNodeInfo;
end;
End;
until hungupon
end;
{$F+}
procedure breakout;
begin
if (erroraddr=nil) and (exitcode=e_controlbreak) then begin
textattr:=7;
updateuserstats (false);
writeln (direct,' [ System Break ]');
writereturnbat;
ensureclosed;
window (1,1,80,25);
gotoxy (1,25); clreol;
gotoxy (1,24); clreol;
if not carrier then dontanswer;
end;
doneexitproc
end;
{$F+}
begin
addexitproc (@breakout)
end.